package com.ruoyi.supplier.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 验货明细对象 tb_check_product_detail
 * 
 * @author ruoyi
 * @date 2021-04-11
 */
public class TbCheckProductDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long checkId;

    private Long checkIdPk;

    /** 验货类型 */
    @Excel(name = "验货类型")
    private Long checkType;

    /** 商品条码 */
    @Excel(name = "商品条码")
    private String barcode;

    @Excel(name = "商品条码范围")
    private String barcodeEnd;

    /** 验货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "验货日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date checkDate;

    /** 采购明细ID */
    private Long purchaseDetailId;

    /** 采购批次号 */
    private String purchaseNumber;

    /** 商品库存表ID */
    private Long priceId;

    /** 验货单状态 */
    @Excel(name = "验货单状态")
    private Integer checkStatus;

    /** 商品表ID */
    private Long productId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 数量 */
    @Excel(name = "数量")
    private Long qty;

    /** 进货价 */
    @Excel(name = "进货价")
    private BigDecimal price;

    /** 参考单价 */
    @Excel(name = "参考单价")
    private BigDecimal referencePrice;

    /** 进货总金额 */
    @Excel(name = "进货总金额")
    private BigDecimal amount;

    /** 规格 */
    @Excel(name = "规格")
    private String itemName;

    /** 生产日期 */
    private Date productDate;

    /** 商品分类 */
    @Excel(name = "商品分类")
    private String typeName;

    /** 商品分类 */
    private String typeId;
    /** 品牌名称 */
    private String brandId;
    /** 品牌名称 */
    @Excel(name = "品牌名称")
    private String brandDesc;
    /** 商品编号 */
    @Excel(name = "商品编号")
    private String productSn;
    @Excel(name = "供应商名称")
    private String supplierName;
    @Excel(name = "计量单位")
    private Long measurement;

    private List ids;

    private Integer sId;
    private Integer storeId;
    private Integer storeCount;

    /** 是否包装类型*/
    private String isPack;


    public void setCheckId(Long checkId)
    {
        this.checkId = checkId;
    }

    public Long getCheckId()
    {
        return checkId;
    }

    public Long getCheckIdPk() {
        return checkIdPk;
    }

    public void setCheckIdPk(Long checkIdPk) {
        this.checkIdPk = checkIdPk;
    }

    public void setCheckType(Long checkType)
    {
        this.checkType = checkType;
    }

    public Long getCheckType() 
    {
        return checkType;
    }
    public void setBarcode(String barcode) 
    {
        this.barcode = barcode;
    }

    public String getBarcode() 
    {
        return barcode;
    }
    public void setCheckDate(Date checkDate) 
    {
        this.checkDate = checkDate;
    }

    public Date getCheckDate() 
    {
        return checkDate;
    }
    public void setPurchaseDetailId(Long purchaseDetailId) 
    {
        this.purchaseDetailId = purchaseDetailId;
    }

    public Long getPurchaseDetailId() 
    {
        return purchaseDetailId;
    }
    public void setPriceId(Long priceId) 
    {
        this.priceId = priceId;
    }

    public Long getPriceId() 
    {
        return priceId;
    }
    public void setCheckStatus(Integer checkStatus)
    {
        this.checkStatus = checkStatus;
    }

    public Integer getCheckStatus()
    {
        return checkStatus;
    }
    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setQty(Long qty) 
    {
        this.qty = qty;
    }

    public Long getQty() 
    {
        return qty;
    }
    public void setItemName(String itemName) 
    {
        this.itemName = itemName;
    }

    public String getItemName() 
    {
        return itemName;
    }
    public void setProductDate(Date productDate) 
    {
        this.productDate = productDate;
    }

    public Date getProductDate() 
    {
        return productDate;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getTypeId() {
        return typeId;
    }

    public void setTypeId(String typeId) {
        this.typeId = typeId;
    }

    public String getBrandId() {
        return brandId;
    }

    public void setBrandId(String brandId) {
        this.brandId = brandId;
    }

    public String getBrandDesc() {
        return brandDesc;
    }

    public void setBrandDesc(String brandDesc) {
        this.brandDesc = brandDesc;
    }

    public String getProductSn() {
        return productSn;
    }

    public void setProductSn(String productSn) {
        this.productSn = productSn;
    }

    public String getPurchaseNumber() {
        return purchaseNumber;
    }

    public void setPurchaseNumber(String purchaseNumber) {
        this.purchaseNumber = purchaseNumber;
    }

    public Integer getsId() {
        return sId;
    }

    public void setsId(Integer sId) {
        this.sId = sId;
    }

    public Integer getStoreId() {
        return storeId;
    }

    public void setStoreId(Integer storeId) {
        this.storeId = storeId;
    }

    public Integer getStoreCount() {
        return storeCount;
    }

    public void setStoreCount(Integer storeCount) {
        this.storeCount = storeCount;
    }

    public String getBarcodeEnd() {
        return barcodeEnd;
    }

    public void setBarcodeEnd(String barcodeEnd) {
        this.barcodeEnd = barcodeEnd;
    }

    public Long getMeasurement() {
        return measurement;
    }

    public void setMeasurement(Long measurement) {
        this.measurement = measurement;
    }

    public List getIds() {
        return ids;
    }

    public void setIds(List ids) {
        this.ids = ids;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getReferencePrice() {
        return referencePrice;
    }

    public void setReferencePrice(BigDecimal referencePrice) {
        this.referencePrice = referencePrice;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getIsPack() {
        return isPack;
    }

    public void setIsPack(String isPack) {
        this.isPack = isPack;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("checkId", getCheckId())
            .append("checkType", getCheckType())
            .append("barcode", getBarcode())
            .append("checkDate", getCheckDate())
            .append("purchaseDetailId", getPurchaseDetailId())
            .append("priceId", getPriceId())
            .append("checkStatus", getCheckStatus())
            .append("productId", getProductId())
            .append("productName", getProductName())
            .append("qty", getQty())
                .append("price", getPrice())
                .append("referencePrice", getReferencePrice())
                .append("amount", getAmount())
            .append("itemName", getItemName())
            .append("productDate", getProductDate())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
